package com.hskn.hss.module.alarmsheshi.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hskn.hss.module.alarmsheshi.entity.AlarmSheshi;
import com.hskn.hss.module.alarmsheshi.entity.AlarmSheshiCharts;
import com.hskn.hss.module.depart.entity.SysDepart;
import com.hskn.hss.module.depart.entity.SysDepartCharts;
import com.hskn.hss.module.statistics.vo.TlSheshiListRes;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author hskn
 * @since 2021-05-21
 */
public interface AlarmSheshiMapper extends BaseMapper<AlarmSheshi> {
    List<Map<String, Object>> collectList(JSONObject params);

    Long collectListCount(JSONObject params);

    List<TlSheshiListRes> collectListExport(JSONObject params);

    List getSelectList(Map map);
    Integer getSelectCount(Map map);

    Long getCountList(Map map);

    Page<Map<String, Object>> mySelectPage(Page<AlarmSheshi> page, @Param("map") Map map);
    List<AlarmSheshiCharts> selectAlarmSheshiForCharts(AlarmSheshi alarmSheshi);
    List<AlarmSheshiCharts> selectAlarmSheshiForChartsTable(AlarmSheshi alarmSheshi);
    List<SysDepartCharts> selectAlarmsheshiForDepart(SysDepart depart);

    List<Map> alarmCountByTypeId(Map map);
}
